課程資訊
課程名稱
資料結構
Data Structures 
開課學期
100-1 
授課對象
管理學院  資訊管理學系  
授課教師
陳建錦 
課號
IM2007 
課程識別碼
705 21200 
班次
 
學分
全/半年
半年 
必/選修
必帶 
上課時間
星期一6,7,8(13:20~16:20) 
上課地點
管二201 
備註
本課程中文授課,使用英文教科書。
總人數上限:70人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1001DS2011 
課程簡介影片
 
核心能力關聯
本課程尚未建立核心能力關連
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

The course is the third course of the Computer Science curriculum. The outline of the course corresponds to the course C2 recommended by the ACM (Association of Computing Machinery). The course introduces and develops methods for designing and implementing abstract data types using the C++ programming language. The main focus is on the object-oriented design and programming in problem solving, and the fundamental concepts, tools and techniques in the design of data structures and associated operations. The course assumes students have a strong background in structured programming and some object-oriented programming experience. The requirements include programming assignments and written exercises, a midterm, and a final exam. 

課程目標
This course covers the design and implementation of data structures including linked lists, stacks, queues, binary trees, heaps, sorting, hashing, and graphs. The primary purpose of the course is to introduce well-known data structures. In addition, the course provides several homeworks and programming assignments that help students sharpen their programming skills. 
課程要求
Programming language 
預期每週課後學習時數
 
Office Hours
每週二 15:00~16:00 
指定閱讀
F. M. Carrano, "Data Abstraction and Problem Solving with C++: Walls and Mirrors," Addison Wesley Longman, 5th edition, 2006.  
參考書目
 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
作業 
20% 
10次 
2. 
程式練習 
20% 
2次 
3. 
期中考 
30% 
2011/11/7 
4. 
期末考 
30% 
2012/1/9 
 
課程進度
週次
日期
單元主題
第1週
9/12  放假(中秋節) 
第2週
9/19  Syllabus <BR>
Chapter 1: Principles of Programming and Software Engineering 
第3週
9/26  Chapter 2: Recursion: The Mirrors 
第4週
10/03  Performance Analysis and Measurement  
第5週
10/10  放假(國慶日) 
第6週
10/17  Chapter 3:  
第7週
10/24  The C++ Exceptions <BR>
Chapter 4: Linked Lists 
第8週
10/31  Chapter 4: Linked Lists
<BR>Programming Assignment 1<BR>
Called by Value/Reference 
第9週
11/07  期中考 
第10週
11/14  Chapter 6 Stacks 
第11週
11/21  Chapter 6 Stacks <BR>
The C++ Template, Friend, and Standard Template Library 
第12週
11/28  Chapter 7: Queues 
第13週
12/05  Chapter 7: Queues <BR>
Chapter 10: Trees 
第14週
12/12  Chapter 10: Trees 
第15週
12/19  Chapter 10: Trees<BR>
Programming Assignment 2<BR>
 
第16週
12/26  Chapter 11: Tables and Priority Queues 
第17週
1/02  Chapter 12.2: Hashing 
第18週
1/09  期末考